var tabUtil = new Object();

$(function () {
	var tNum = 2;
	
	// 新增标签
	var add = function (url, title, reload) {
		var a = $("ul.nav li a[data-title='" + title + "']");
		
		// 判断是否已存在
		if (a.length > 0) {
			a.trigger("click");
			
			var iframe = $(a.attr("href") + " iframe");
			// 标签重名时，判断链接是否一致，不一致也刷新
			if (!reload && iframe.attr("src") === url) {
				return false;
			}
			
			iframe.attr("src", url);
			return false;
		}
		
		var tabTitle = "<li role='presentation' class='active'><a href='#t" 
			+ tNum + "' aria-controls='home' role='tab' data-toggle='tab' data-title='"
			+ title + "'>" 
			+ title + " <span class='glyphicon glyphicon-refresh' aria-hidden='true'> </span> <span class='glyphicon glyphicon-remove' aria-hidden='true'> </span></a></li>";
		
		// 去除其他标签的激活状态
		$("ul.nav li").removeClass("active");
		$("ul.nav").append(tabTitle);
		
		var content = $("<div role='tabpanel' class='tab-pane active' id='t" 
			+ tNum + "'><iframe name='frame' src='" 
			+ url + "' frameborder='0' id='" 
			+ tNum + "'></iframe></div>");
		
		$("div.tab-content div").removeClass("active");
		$("div.tab-content").append(content);
		
		$(window).trigger("resize");
		++tNum;
		
		// 显示加载图标
		$("div[loaded].loading").show();
		content.find("iframe").on('load', function () {
			$("div[loaded].loading").animate({
				opacity: 0
			}, 500, function () {
				$(this).removeAttr("style");
				$(this).hide();
			});
		});
		return true;
	};
	
	tabUtil.add = add;
	
	// 激活标签
	$("ul.nav").on("click", "li a", function(){
        var parent = $(this).parent();
        var content = $(this).attr("href");
        parent.addClass("active").siblings().removeClass("active");
        $(content).addClass("active").siblings().removeClass("active");
    });
	
	// 关闭标签页
	$("ul.nav").on("click", "li a span.glyphicon-remove", function(){
        var a = $(this).closest("a");
        var div = $(a.attr("href"));
        
        var parent = a.parent();
        var last = parent.next();
        
        // 没有下一个兄弟节点,选择上一个兄弟节点
        if (last.length === 0) {
        	last = parent.prev();
        }
        
        // 本身是否是已激活
        if (parent.hasClass("active")) {
        	var id = last.find("a").attr("href");
            last.addClass("active").siblings().removeClass("active");
            $(id).addClass("active").siblings().removeClass("active");
        }
        
        // 删除自身
        parent.remove();
        div.remove();
    });
	
	// 删除标签
	var remove = function(ele) {
		var div = $(ele)
		// 暂时没有实现
	}
	tabUtil.remove = remove;
	
	// 刷新标签
	$("ul.nav").on("click", "li a span.glyphicon-refresh", function(){
		var a = $(this).closest("a");
        var div = $(a.attr("href"));
        
        var iframe = div.find("iframe");
        iframe.attr("src",  iframe.attr("src"));
        
        $(window).trigger("resize");
        $("div[loaded].loading").show();
    });	
});